#include <iostream>
#include <vector>
using namespace std;

int main() {
    string str;
    cin>>str;
    int n=str.size()+1;
    str=' '+str;
    vector<vector<bool>> dp(n+1,vector<bool>(n+1,false));
    dp[0][0]=true;
    int ret=110;
    for(int len=1;len<=n;len++)
    {
        for(int i=1;i+len-1<=n;i++)
        {
            int j=i+len-1;
            if(i==j)
            {
                dp[i][i]=true;
            }
            else if(len==2 && str[i]==str[j])
            {
                dp[i][j]=true;
            }
            else if(str[i]==str[j])
            {
                dp[i][j]=dp[i][j]||dp[i+1][j-1];
            }

            if(dp[i][j] && len>1)
            {
                ret=min(ret,len);
            }
        }
    }
    if(ret!=110)
    {
        cout<<ret<<endl;
    }
    else{
        cout<<-1<<endl;
    }
    return 0;
}
